package view;

import entity.character;
import entity.game;
import javafx.stage.Stage;
import util.queueUtil;

//这是开始游戏后的界面
public class gameView {

    private static game game=new game();

    public static void openGameView(Stage stage){
        //绘制地图，对地图进行初始化
        util.initUtil.initMap();

        //点击骰子后获得步数
        //1.点击骰子得到数据，来调用相关的函数来进行移动
        //2.得到的随机数字直接给到相应的函数，调用玩家进行移动
        //3.骰子得到的数字，也要展示在信息栏中
        // 根据获得的步数来是不同的玩家移动
        //1.前进几个格子将玩家的贴图改变到应有的位置
        //2.玩家位置的存储和地图数据为两个部分
        //走到不同的地方后，有不同的情况发生
        //1.先判断玩家在什么位置
        //2.知道位置后改变game的数据，和地皮的数据等等
        //负责人：武文韬

        while (true){
            //根据game中的玩家人数，为玩家排序
            int characterNum= util.getUtil.getCharacterNum(game.Game);
            //获得玩家的开始顺序
            int[] order=util.getUtil.getBeginRandonInt(characterNum);

            //设定玩家的次序
                //util.gameUtil.setPriority();
            //依据次序让玩家进行游戏

            //通过比较玩家的优先次序,来为每位玩家进行游戏
                //util.gameUtil.orderCharacter();

            //通过排列好的集合顺序来进行游戏顺序
            //点击骰子后获得的数字
            int num = util.getUtil.getRandomInt();

            //根据人数构造一个队列
            queueUtil queueUtil=new queueUtil(characterNum);
            int j=queueUtil.dequeue();

            //玩家依据获得的骰子数字移动
            util.moveUtil.characterMove(game.Game.getCharacter().get(j),num);
            //移动后开始判断自己什么位置，会触发什么效果
            //直接获得玩家位置的编号
            int positionNum=util.getUtil.getPositionNum(game.Game,util.getUtil.getPositionX(game.Game.getCharacter().get(j).getMap()),util.getUtil.getPositionY(game.Game.getCharacter().get(j).getMap()));
            switch (positionNum){
                //遇到各种情况，分类讨论
                //调用不同的方法来修改游戏数据
                case '1':
                //地块分类为：地皮，地产，事件
                //遇到地皮的时候，在操作界面显示相应的操作按钮

                //破产的判断

                //胜利的判断


            }


            //程序出口
            //如果游戏结束的话就退出循环，游戏结束
            if(true){
                break;
            }
        }


        stage.show();
    }

}
